package model

import "time"

type OauthIn struct {
	Code     string `json:"code" dc:"第三方返回的code"`
	State    string `json:"state" dc:"第三方返回的state"`
	Types    string `json:"types" dc:"gitee或qq或github"`
	IsCreate int    `json:"isCreate" v:"required#请填写是否绑定账号" dc:"是否绑定账号:0=创建新账号,1=绑定已有账号"`
}
type OauthOut struct {
	UserInfo *LoginUserRes `json:"userInfo"`
	Token    string        `json:"token"`
}

// gitee accesstoken 数据
type GiteeAccessToken struct {
	AccessToken      string `json:"access_token"`
	TokenType        string `json:"token_type"`
	ExpiresIn        int    `json:"expires_in"`
	RefreshToken     string `json:"refresh_token"`
	Scope            string `json:"scope"`
	CreatedAt        int    `json:"created_at"`
	Error            string `json:"error"`
	ErrorDescription string `json:"error_description"`
}

// gitee 用户数据
// 用户使用gitee登录的时候，直接根据gitee的id获取数据
type GiteeUser struct {
	Id        int       `json:"id"`                                  //用户id
	MemberId  int       `json:"member_id"`                           //绑定的用户id
	UpdatedAt time.Time `json:"updated_at"`                          //用户资料更新时间
	AvatarURL string    `json:"avatar_url" orm:"column(avatar_url)"` //用户头像链接
	Email     string    `json:"email" orm:"size(50)"`                //电子邮箱
	Login     string    `json:"login" orm:"size(50)"`                //用户名
	Name      string    `json:"name" orm:"size(50)"`                 //昵称
	HtmlURL   string    `json:"html_url" orm:"column(html_url)"`     //gitee主页
}

// GitHub accesstoken 数据
type GithubAccessToken struct {
	AccessToken string `json:"access_token"`
	TokenType   string `json:"token_type"`
	Scope       string `json:"scope"`
}

// GitHub 用户数据
// 用户使用GitHub登录的时候，直接根据GitHub的id获取数据
type GithubUser struct {
	Id        int       `json:"id"`                                  //用户id
	MemberId  int       `json:"member_id"`                           //绑定的用户id
	UpdatedAt time.Time `json:"updated_at"`                          //用户资料更新时间
	AvatarURL string    `json:"avatar_url" orm:"column(avatar_url)"` //用户头像链接
	Email     string    `json:"email" orm:"size(50)"`                //电子邮箱
	Login     string    `json:"login" orm:"size(50)"`                //用户名
	Name      string    `json:"name" orm:"size(50)"`                 //昵称
	HtmlURL   string    `json:"html_url" orm:"column(html_url)"`     //github主页
}

// qq accesstoken 数据
type QQAccessToken struct {
	AccessToken string `json:"access_token"`
}

// qq 用户数据
// 用户使用qq登录的时候，直接根据qq的id获取数据
type QQUser struct {
	Ret       int    `json:"ret"`
	Msg       string `json:"msg"`
	AvatarURL string `json:"figureurl_qq_2"` //用户头像链接
	Name      string `json:"nickname"`       //昵称
	Gender    string `json:"gender"`         //性别
}

type SessKey struct {
	OpenId     string `json:"openid"`
	SessionKey string `json:"session_key"`
	UnionId    string `json:"unionid"`
	ErrCode    int    `json:"errcode"`
	ErrMsg     string
}

type WechatUser struct {
	Openid    string `json:"openid"`
	Unionid   string `json:"unionid"`
	AvatarURL string `json:"avatarUrl"`
	City      string `json:"city"`
	Country   string `json:"country"`
	Gender    int    `json:"gender"`
	Language  string `json:"language"`
	NickName  string `json:"nickName"`
	Province  string `json:"province"`
}
